# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/9/12 0012 5:34
@Author : 测试开发工程师
@File : 3. liunx 常用命令之文件处理.py
@Software: PyCharm
============================
"""

"""
连接服务器
    ssh -p端口 用户名@服务地址
    ssh -p22 用户名@shell.ceshiren.com

文件操作命令
    查看帮助： 
        命令 --help   
        man 命令（空格：向下按页翻页。回车：按行翻页。向前翻：b。退出：q）
    查看文件信息： ls
        ls -a ： 显示所有文件，包括隐藏文件
        ls -l（ll）: 详细信息
        ls -al : 组合使用
    切换工作目录：cd
        cd 绝对路径  : cd /usr/bin     cd (切回家目录)
        cd 相对路径 :  cd ../../usr/bin
    自动补全： Tab
    上下键： 执行过的命令
    显示当前目录路径：pwd（绝对路径）
    创建新目录： mkdir
        mkdir feier
        递归创建： mkdir a/b/c -p
    创建空文件： touch
        touch 1.txt
    删除文件或目录： rm
        删除文件： rm 1.txt 
        删除目录： rm -r c(删除c目录)
        强制删除： rm -rf c
        删除时提示： 
            rm -ri b(是否删除目录'b'?)
            rm -i 1.txt(是否删除文件'1'?)
        
    文件管理：
        拷贝： cp  源目录  目标目录
            拷贝文件 ：cp ./1 ./feier
            拷贝目录： cp -a ./test ../hogwarts
        移动/重命名： 
            重命名： mv 旧文件名 新文件名
            重命名文件： mv 1.txt f.txt
            移动： mv f.txt ./hogwarts/
            移动文件： mv f.txt ../feier/ 
         
        建立连接文件： ln(类似windows下的快捷方式)
        常用建立软链接
            软链接：不占用磁盘空间，源文件删除后，软链接文件就会失效（创建软链接，需要加 s 参数）
                    ln -s ./feier/1 .
            硬链接： 删除源文件后，硬链接文件还可以使用。两个文件占用相同的磁盘空间（只能链接文件，不能链接目录）
        查找文件： find
            按路径查找： find 路径 -name 文件名
            可以正则匹配： find ./ -name '*.txt'
        查看文件内容： cat,less,more,head,tail
            cat 文件名 : cat nginx.log
            查看大文件：  less nginx.log（空格：向下按页翻页。回车：按行翻页。向前翻：b。退出：q）
            more nginx.log: （空格：向下按页翻页。回车：按行翻页。向前翻：b。退出：q。 展示文件显示的百分比）
            head nginx.log: 默认展示前10行
                指定展示行数： head -n 3 nginx.log(展示前3行)
            tail nginx.log: 默认展示后10行
                指定展示行数： tail -n 5 nginx.log(展示后5行)
        打包压缩： tar
            打包：把多个文件放到一起
            压缩： 在打包基础上（是文件包的大小变小，节省内存空间）
            打包压缩：tar -zcvf 压缩后的文件名（f.tar.gz） 需要压缩的文件名（1.txt，2.txt）
            解压缩到当前目录： tar -xvf f.tar.gz
            解压缩到指定目录： tar -xvf f.tar.gz -C ./feier/
    文本处理：
        文本编辑： vi/vim
            创建文件并编辑内容： vim hog
            i : 进入编辑模式
            esc: 退出编辑模式
            :wq 退出保存
            :q! 退出不保存
            快捷操作： 
                跳到文件最开头： gg
                跳到最后面： G
                同一行行首：^ 
                同一行行尾：$
                非编辑模式下删除光标最后一行 ： dd
        屏幕输出： echo
        输出重定向： >
            echo 123 > n.txt
            
    文件属性：
        ll 命令
            drwxr-xr-x 权限属性 1 连接 root 所有者 root 用户组 4096 大小 05-31 11：51 修改日期 install.log 文件或目录名
        d 文件类型 rwx 拥有者 r-x 所属组 r-x 其他人
        r 读权限
        w 写权限
        x 可执行权限
        文件类型  d: 目录, - 文件 l 连接文件 b设备文件 c 设备文件中的串行端口设备，如键盘，鼠标
        
    修改文件属性： chmod 777 文件
        r 读权限 read   4 
        w 写权限 write  2
        x 可执行权限 execute  1
        - 无权限 0
        
        
        
网络
    查看网卡信息： ifconfig
    测试远程主机联调性： ping -c 3 -i 3 101.200.136.153
        -c : ping 的次数
        -l : 每次 ping 的时间间隔
    打印 linux 网络系统的状态信息
    netstat -tnp
        -t: 列出所有 tcp
        -n: 以数字形式显示地址和端口号
        -p: 显示进程的 pid 和名字

退出 linux 系统：
    exit
    
"""